In many fields of endeavour, it is necessary for electronic forms, sometimes embedded within other electronic content, such as web pages or electronic document, to be presented to a user. These electronic forms are typically presented as a graphical user interface (GUI) and users may use one or more user input devices to fill in the forms.
Electronic forms may include a number of different types of fields, depending on the nature of the information to be gathered from a user. Typical examples include single-line text fields (in which a user positions a cursor or other indication within a rendering of a rectangular region and types a single line of text, which appears in the rendering and may be subsequently transmitted or stored in association with an identifier of the text field), multi-line text entry boxes for entering larger texts, various binary inputs (such as check boxes adjacent to various semantically relevant labels), and selectable lists of items. Such lists may comprise a rectangular box capable of showing a single list entry. By clicking on a button typically located in conjunction with the box, a larger box is rendered showing a number of selectable items. This larger box sometimes appears below the original box and thus such selectable lists have come to be known as “drop-down lists.” Once the user has selected an item (e.g. which may include but is not limited to clicking on its text with a mouse or other device), the larger box disappears and the selected item is shown in the rectangular box. Some other lists (sometimes called scrolling lists) may be in the form of a rectangular field capable of showing several list entries at once, possibly with a scroll bar or other affordance to permit a user to view various list items where the number of list items is larger than the number than can be accommodated within the rectangle rendered on a display device.
Electronic forms may be described in files that include data that may be termed a form template. Such a form template may include information about describing the electronic form, including information about the various form elements to be displayed, their labels, their sizes, and the spatial relationship of the elements to be displayed. Such form templates may also include data used to pre-populate the rendering of the form (for example, the list of items to be displayed in a list) or executable instructions (sometimes called “scripts”) for retrieving items (e.g. short text strings) from a data store, in which the retrieved items are included in the rendering of a form element. For example, a form template may specify that a scrolling list is to be rendered, and may include a list of text labels to be shown as the GUI selectable items within the list rendering.